import request from "@/utils/request";
import { Ap2Form, Ap2Info, Ap2PageVO, Ap2Query } from "./model";

const USER_BASE_URL = "/ap2";

class Ap2API {
  /**
   * 获取号码分页列表
   *
   * @param queryParams 查询参数
   * @returns 号码分页列表
   */
  static getPage(queryParams: Ap2Query) {
    return request<any, PageResult<Ap2PageVO[]>>({
      url: `${USER_BASE_URL}`,
      method: "get",
      params: queryParams,
    });
  }

  /**
   * 获取用户表单详情
   *
   * @param id 用户ID
   * @returns 用户表单详情
   */
  static getFormData(id: number) {
    return request<any, Ap2Form>({
      url: `${USER_BASE_URL}?id=${id}`,
      method: "get",
    });
  }

  /**
   * 添加用户
   *
   * @param data 用户表单数据
   * @returns 请求结果
   */
  static add(data: Ap2Form) {
    return request({
      url: `${USER_BASE_URL}`,
      method: "post",
      data: data,
    });
  }

  /**
   * 修改
   *
   * @param id 用户ID
   * @param data 用户表单数据
   * @returns 请求结果
   */
  static update(id: number, data: Ap2Form) {
    return request({
      url: `${USER_BASE_URL}`,
      method: "put",
      data: data,
    });
  }


  /**
   * 批量删除用户，多个以英文逗号(,)分割
   *
   * @param ids 用户ID字符串，多个以英文逗号(,)分割
   * @returns 请求结果
   */
  static deleteByIds(ids: string) {
    return request({
      url: `${USER_BASE_URL}?id=${ids}`,
      method: "delete",
    });
  }

  /**
   * 下载用户导入模板
   *
   * @returns 用户导入模板文件
   */
  // static downloadTemplate() {
  //   return request({
  //     url: `${USER_BASE_URL}/template`,
  //     method: "get",
  //     responseType: "arraybuffer",
  //   });
  // }

  /**
   * 导出用户
   *
   * @param queryParams 查询参数
   * @returns 导出文件
   */
  // static export(queryParams: Ap2Query) {
  //   return request({
  //     url: `${USER_BASE_URL}/export`,
  //     method: "get",
  //     params: queryParams,
  //     responseType: "arraybuffer",
  //   });
  // }

  /**
   * 导入用户
   *
   * @param deptId 部门ID
   * @param file 导入文件
   * @returns 请求结果
   */
  // static import(deptId: number, file: File) {
  //   const formData = new FormData();
  //   formData.append("file", file);
  //   return request({
  //     url: `${USER_BASE_URL}/import`,
  //     method: "post",
  //     params: { deptId: deptId },
  //     data: formData,
  //     headers: {
  //       "Content-Type": "multipart/form-data",
  //     },
  //   });
  // }
}

export default Ap2API;
